package com.letian.record.mapper;

import java.util.List;
import com.letian.record.domain.RecordPerson;
import com.letian.record.domain.RecordPersonExtension;

/**
 * 记录人际关系Mapper接口
 * 
 * @author bmz
 * @date 2023-01-15
 */
public interface RecordPersonMapper 
{
    /**
     * 查询记录人际关系
     * 
     * @param personId 记录人际关系主键
     * @return 记录人际关系
     */
    public RecordPerson selectRecordPersonByPersonId(Long personId);

    /**
     * 查询记录人际关系列表
     * 
     * @param recordPerson 记录人际关系
     * @return 记录人际关系集合
     */
    public List<RecordPerson> selectRecordPersonList(RecordPerson recordPerson);

    /**
     * 新增记录人际关系
     * 
     * @param recordPerson 记录人际关系
     * @return 结果
     */
    public int insertRecordPerson(RecordPerson recordPerson);

    /**
     * 修改记录人际关系
     * 
     * @param recordPerson 记录人际关系
     * @return 结果
     */
    public int updateRecordPerson(RecordPerson recordPerson);

    /**
     * 删除记录人际关系
     * 
     * @param personId 记录人际关系主键
     * @return 结果
     */
    public int deleteRecordPersonByPersonId(Long personId);

    /**
     * 批量删除记录人际关系
     * 
     * @param personIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRecordPersonByPersonIds(Long[] personIds);

    /**
     * 批量删除人物关系扩展信息
     * 
     * @param personIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRecordPersonExtensionByPersonIds(Long[] personIds);
    
    /**
     * 批量新增人物关系扩展信息
     * 
     * @param recordPersonExtensionList 人物关系扩展信息列表
     * @return 结果
     */
    public int batchRecordPersonExtension(List<RecordPersonExtension> recordPersonExtensionList);
    

    /**
     * 通过记录人际关系主键删除人物关系扩展信息信息
     * 
     * @param personId 记录人际关系ID
     * @return 结果
     */
    public int deleteRecordPersonExtensionByPersonId(Long personId);
}
